#pragma once

#include "glm/glm.hpp"
#include "VertexArray.h"
namespace Orange {
	class RendererAPI
	{
	public:
		enum class API {
			None = 0,
			OpenGl = 1
		};
		
		virtual void Init() = 0;
		virtual void SetViewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height) = 0;
		virtual void SetClearColor(const glm::vec4& color) = 0;
		virtual void Clear() = 0;

		virtual void DrawIndexs(const Ref<VertexArray>& vertexArray , uint32_t indexCount = 0) = 0;
		inline static API GetApi() {
			return s_API;
		}
	private:
		static API s_API;
	};
}